package io.bba.boot.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import io.bba.boot.framework.page.Paging;
import io.bba.boot.system.dto.SysBannerDto;
import io.bba.boot.system.entity.SysBanner;
import io.bba.boot.system.query.SysBannerQuery;
import io.bba.boot.system.vo.SysBannerVo;
import io.bba.boot.system.query.AppSysBannerQuery;
import io.bba.boot.system.vo.AppSysBannerVo;


/**
 * 系统轮播图 服务接口
 *
 * @author xxcj
 * @since 2024-03-13
 */
public interface SysBannerService extends IService<SysBanner> {

    /**
     * 添加系统轮播图
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean addSysBanner(SysBannerDto dto);

    /**
     * 修改系统轮播图
     *
     * @param dto
     * @return
     * @throws Exception
     */
    boolean updateSysBanner(SysBannerDto dto);

    /**
     * 删除系统轮播图
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deleteSysBanner(Long id);

    /**
     * 系统轮播图详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    SysBannerVo getSysBannerById(Long id);

    /**
     * 系统轮播图分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<SysBannerVo> getSysBannerPage(SysBannerQuery query);

    /**
     * App系统轮播图详情
     *
     * @param id
     * @return
     * @throws Exception
     */
    AppSysBannerVo getAppSysBannerById(Long id);

    /**
     * App系统轮播图分页列表
     *
     * @param query
     * @return
     * @throws Exception
     */
    Paging<AppSysBannerVo> getAppSysBannerPage(AppSysBannerQuery query);

}
